home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 June: Reference Library / Dev.CD Jun 99 RL Disk 1.toast / Technical Documentation / Develop / develop Issue 28 / develop Issue 28 code / MacApp Debugging / IconEdit tests / IconEdit / IconEdit.r next >
Encoding:
Text File  |  1996-08-25  |  50.7 KB  |  1,589 lines  |  [TEXT/MPS ]

  1. // IconEdit.r 
  2. // Copyright © 1988-96 by Apple Computer, Inc. All rights reserved. 
  3.  
  4. /* ==============================   Includes   ================================= */
  5.  
  6. #ifndef __AEREGISTRY.R__
  7. #include "AERegistry.r"
  8. #endif
  9.  
  10. #ifndef __AEUSERTERMTYPES__
  11. #include "AEUserTermTypes.r"
  12. #endif
  13.  
  14. #ifndef __APPLEEVENTS_R__
  15. #include "AppleEvents.r"
  16. #endif
  17.  
  18. #ifndef __TYPES_R__
  19. #include "Types.r"
  20. #endif
  21.  
  22. #ifndef __SYSTYPES_R__
  23. #include "SysTypes.r"
  24. #endif
  25.  
  26. #ifndef __MACAPPVERSION__
  27. #include "MacAppVersion.h"
  28. #endif
  29.  
  30. #ifndef __MacAppTypes__
  31. #include "MacAppTypes.r"
  32. #endif
  33.  
  34. #ifndef __ViewTypes__
  35. #include "ViewTypes.r"
  36. #endif
  37.  
  38. #ifndef THINK_Rez
  39. #if qDebug | qPerform
  40. include "Debug.rsrc" not 'ckid';
  41. include "Dialog.rsrc" not 'ckid';
  42. #endif
  43.  
  44. /* include scripting resources */
  45. include "MacApp.rsrc" not 'ckid';
  46. include "Printing.rsrc" not 'ckid';
  47.  
  48. #ifndef MW_Rez 
  49. #if !qNoCode
  50. include $$Shell("ObjApp")$$Shell("XAppName") 'CODE';
  51. #if qModelCFM
  52. include $$Shell("ObjApp")$$Shell("XAppName") 'cfrg';
  53. include $$Shell("ObjApp")$$Shell("XAppName") 'rseg';
  54. #endif
  55. #endif
  56. #endif // !MW_Rez
  57. #endif // !THINK_Rez
  58.  
  59. /* ==============================   Constants   ================================ */
  60.  
  61. #define cZoomIn                1000
  62. #define cZoomOut            1001
  63. #define cInvert                1002
  64. #define cDrawCommand        1003
  65. #define cSetColor            1005
  66.  
  67. #define kSeedIconId            1000
  68. #define kIconWindowId        1000
  69. #define kIconEditViewId        1001
  70. #define kPencilCursorId        1000
  71.  
  72. #define kIconViewHeight        32 * 7 + 10     /* 7 times actual size, 5 pixel borders */
  73. #define kIconViewWidth        32 * 7 + 10     /* 7 times actual size, 5 pixel borders */
  74.  
  75. #define kIconWindowHeight    kIconViewHeight + kSBarSizeMinus1
  76. #define kIconWindowWidth    kIconViewWidth + kSBarSizeMinus1
  77.  
  78. #define kIconEditApp        1000
  79.  
  80. #define mIcon                4
  81.  
  82. #define kAEIconEditDispatchTable    1000    /* ID of the 'aedt' resource for IconEdit custom events */
  83.  
  84.  
  85. /* =====================   The overall package version   ====================== */
  86.  
  87. include "Defaults.rsrc"  'vers' (2);        // Overall package
  88.  
  89. /* =================   The revision of this particular file   ================= */
  90. RESOURCE 'vers' (1,
  91. #if qNames
  92. "File Version",
  93. #endif
  94.     purgeable) {
  95.     MA_VERS_CODE,
  96.     verUs,
  97.     MA_SHORT_VERSION,
  98.     "IconEdit"
  99.     MA_SHORT_VERSION
  100.     ", © 1988-95 Apple Computer, Inc."
  101. };
  102.  
  103. /*--------------------------------------------------------------------------------
  104.  MultiFinder™ info
  105. --------------------------------------------------------------------------------*/
  106. /* Additional size deltas to be added to partition size */
  107.  
  108. #if qNames
  109. #define kNamesSizeDelta 50
  110. #else
  111. #define kNamesSizeDelta 0
  112. #endif
  113.  
  114. #if qDebug
  115. #define kDebugSizeDelta 0
  116. #else
  117. #define kDebugSizeDelta 0
  118. #endif
  119.  
  120. #if qModelFarCode
  121. #define kModelFarSizeDelta 0
  122. #else
  123. #define kModelFarSizeDelta 0
  124. #endif
  125.  
  126. resource 'SIZE' (-1) {
  127.     saveScreen,
  128.     acceptSuspendResumeEvents,
  129.     enableOptionSwitch,
  130.     canBackground,
  131.     doesActivateOnFGSwitch,
  132.     backgroundAndForeground,
  133.     dontGetFrontClicks,
  134.     ignoreAppDiedEvents,
  135.     is32BitCompatible,
  136.     isHighLevelEventAware,
  137.     localAndRemoteHLEvents,
  138.     notStationeryAware,                
  139.     reserved,
  140.     reserved,
  141.     reserved,
  142.     reserved,
  143.     
  144.     /* Suggested partition size */
  145.     (5000 + kNamesSizeDelta + kDebugSizeDelta + kModelFarSizeDelta) * 1024,
  146.     
  147.     /* Minimum partition size */
  148.     (3000 + kNamesSizeDelta + kDebugSizeDelta + kModelFarSizeDelta) * 1024
  149. };
  150.  
  151. resource 'seg!' (kIconEditApp,
  152. #if qNames
  153.     "IconEditApp",
  154. #endif
  155.     purgeable) {
  156.     {    "ARes";
  157.         "GNonRes";
  158.         "GClipboard";
  159.         "GClose";
  160.         "GFile";
  161.         "GOpen";
  162.         "GDoCommand";
  163.         "GSelCommand";
  164.         "GWriteFile";
  165.         "GReadFile";
  166.         "GFinder";
  167.         "BBNonRes";
  168.         "BBOpen";
  169.         "GNonRes2";
  170.         "GPrint";
  171.         "GReadResource";
  172.     };
  173. };
  174.  
  175. resource 'res!' (kIconEditApp,
  176. #if qNames
  177.     "IconEditApp",
  178. #endif
  179.     purgeable) {
  180.     {    "ARes";
  181.     };
  182. };
  183.  
  184. resource 'mem!' (132,
  185. #if qNames
  186.     "Additional Stack Space",
  187. #endif
  188.     purgeable) {
  189.     0,
  190.     0,
  191.     500*1024,                // Add to temporary reserve
  192.     500*1024,                // Add to permanent reserve
  193.     49152            // Add to stack space
  194. };
  195.  
  196. #if qPowerPC
  197. #include "CodeFragmentTypes.r"
  198.  
  199. resource 'cfrg' (0, "Configuration Info") {
  200.     {
  201.         kPowerPC,
  202.         kFullLib,
  203.         kNoVersionNum,
  204.         kNoVersionNum,
  205.         0,
  206.         0,
  207.         kIsApp,
  208.         kOnDiskFlat,
  209.         kZeroOffset,
  210.         kWholeFork,
  211.         "IconEdit"
  212.     }
  213. };
  214. #endif
  215.  
  216. /* ============================   Bundle Stuff   ============================== */
  217.  
  218. resource 'ICN#' (128, "Application Icon") {
  219.     {
  220.     $"0007 FF80 0008 0000 0008 7E20 0028 0120 0048 0120 0488 0120 0D08 0120 0808 0120"
  221.     $"6608 0120 9908 0120 8108 FE20 8008 0020 8008 0020 4A00 0028 3400 3F24 80FC 4082"
  222.     $"4300 8041 2401 3022 1401 C814 0BEE 7F8F 0402 0007 0211 0007 0120 8007 00A0 6007"
  223.     $"0058 1FE7 0024 021F 0010 C407 0009 2800 0006 5000 0002 A800 0001 4800 0000 9000",
  224.     
  225.     $"0007 FF80 000F FFC0 001F FFE0 003F FFE0 007F FFE0 04FF FFE0 0DFF FFE0 0BFF FFE0"
  226.     $"67FF FFE0 FFFF FFE0 FFFF FFE0 FFFF FFE0 FFFF FFF0 7FFF FFF8 7FFF FFFC FFFF FFFE"
  227.     $"7FFF FFFF 3FFF FFFE 1FFF FFFC 0FFF FFFF 07FF FFFF 03FF FFFF 01FF FFFF 00FF FFFF"
  228.     $"007F FFFF 003F FE1F 001F FC07 000F F800 0007 F000 0003 E800 0001 C800 0000 9000"
  229.     }
  230. };
  231.  
  232. resource 'ICN#' (129, "Document Icon") {
  233.     {
  234.     $"0FE7 FF80 0808 0000 0808 7E20 0808 0120 0008 0128 0408 0124 0C08 012E 0808 0122"
  235.     $"6608 0122 9908 0122 8108 FE22 8008 0022 8008 0022 4A00 1F22 3400 0022 00FC 0022"
  236.     $"0300 0002 0401 FFF2 0400 0008 03E0 1FE4 0810 0552 0810 00A9 0820 0001 0820 01FE"
  237.     $"0818 0000 0804 0002 0800 C002 0801 2002 0802 5002 0800 8802 0800 0802 0FFF 93FE",
  238.  
  239.     $"0FFF FF80 0FFF FFC0 0FFF FFE0 0FFF FFF0 0FFF FFF8 0FFF FFFC 0FFF FFFE 0FFF FFFE"
  240.     $"6FFF FFFE FFFF FFFE FFFF FFFE FFFF FFFE FFFF FFFE 7FFF FFFE 3FFF FFFE 0FFF FFFE"
  241.     $"0FFF FFFE 0FFF FFFE 0FFF FFFE 0FFF FFFE 0FFF FFFE 0FFF FFFF 0FFF FFFF 0FFF FFFE"
  242.     $"0FFF FFFE 0FFF FFFE 0FFF FFFE 0FFF FFFE 0FFF FFFE 0FFF FFFE 0FFF FFFE 0FFF FFFE"
  243.     }
  244. };
  245.  
  246. /* ----------------------------------------------------------------------------- */
  247.  
  248. type 'ICED' as 'STR ';
  249.  
  250. resource 'ICED' (0) {                /* Creator (or Signature) */
  251.     "IconEdit";
  252. };
  253.  
  254. /* ----------------------------------------------------------------------------- */
  255.  
  256. resource 'FREF' (128) {
  257.     'APPL', 0, ""    /* Show files of type 'APPL' with ICN# with local ID 0 */
  258. };
  259.  
  260. resource 'FREF' (129) {
  261.     'ICON', 1, ""    /* Show files of type 'ICON' with ICN# with local ID 1 */
  262. };
  263.  
  264. /* ----------------------------------------------------------------------------- */
  265.  
  266. resource 'BNDL' (128) {
  267.     'ICED',        /* Application signature (creator) */
  268.     0,            /* Resource ID of version data */
  269.     {
  270.         'ICN#',    /* This is how to map local ICN# ids into resource IDs */
  271.         {
  272.             0, 128;    /* Local ICN# 0 is in resource 128 */
  273.             1, 129    /* Local ICN# 1 is in resource 129 */
  274.         };
  275.         'FREF',    /* This is how to map local FREF ids into resource IDs */
  276.         {
  277.             0, 128;    /* Local FREF 0 (arbitrary) is in resource 128 */
  278.             1, 129    /* Local FREF 1 (also arbitrary) is in resource 129 */
  279.         }
  280.     }
  281. };
  282.  
  283. /* ============================   About Box   ============================== */
  284. resource 'DITL' (phAboutApp,
  285. #if qNames
  286. "phAboutApp",
  287. #endif
  288.     purgeable) {
  289.      {    /* array DITLarray: 3 elements */
  290.         /* [1] */
  291.         {160, 182, 180, 262},
  292.         Button {
  293.             enabled,
  294.             "OK"
  295.         };
  296.         /* [2] */
  297.         {10, 75, 150, 316},
  298.         StaticText {
  299.             disabled,
  300.             "This sample program implements a\n"
  301.             "simple icon editor with MacApp.\n"
  302.             WRITTEN_WITH_MACAPP
  303.         };
  304.         /* [3] */
  305.         {10, 20, 42, 52},
  306.         Icon {
  307.             disabled,
  308.             1
  309.         }
  310.     }
  311. };
  312.  
  313. include "Defaults.rsrc"  'ALRT' (phAboutApp);        // Grab the default about box
  314. include "Defaults.rsrc"  'STR#' (kDefaultCredits);    // Grab the default credits
  315.  
  316. /* ============================   Pencil Cursor   ============================== */
  317.  
  318. resource 'CURS' (kPencilCursorId, purgeable) {
  319.     $"00F0 0088 0108 0190 0270 0220 0440 0440 0880 0880 1100 1E00 1C00 1800 10",
  320.     $"00F0 00F8 01F8 01F0 03F0 03E0 07C0 07C0 0F80 0F80 1100 1200 1400 1800 10",
  321.     {14, 3}
  322. };
  323.  
  324. /* =============================   Icon Window   =============================== */
  325.  
  326. resource 'STR#' (1000, "Window titles", purgeable) {
  327.     {    /* array StringArray: 1 elements */
  328.         /* [1] */
  329.         ""
  330.     }
  331. };
  332.  
  333. resource 'View' (1000, purgeable) {MAThreeOh, 
  334.     {
  335.     ViewSignatureAndClassname
  336.         {'wind', 531, "", 'WIND', enabled, noIdle, {}, MAThreeOh, 
  337.         {50, 20}, {249, 249}, sizeVariable, sizeVariable, shown, doesntWantToBeTarget, 
  338.         handlesCursor, letsSubViewsHandleCursor, noCursorID, 
  339.         handlesHelp, letsSubViewsHandleHelp, noHelpID, 1, 
  340.         NoDrawingEnvironment {}, 
  341.         AdornerListSignatureAndClassname {NoIdentifier, AdornerList, AdornerElementSize, AdornerElementSizeShift, DynamicArrayAllocationIncrement, {
  342.             AdornFirst, AdornerLocalObject {EraseAdorner}, 
  343.             DrawView, AdornerLocalObject {DrawAdorner}, 
  344.             AdornLast, AdornerLocalObject {ResizeIconAdorner}}}, emptyUserArea, 
  345.         Window {zoomDocProc, 'ICON', goAwayBox, resizable, ignoreFirstClick, 
  346.             freeOnClosing, disposeOnFree, closesDocument, openWithDocument, dontAdaptToScreen, stagger, forceOnScreen, 
  347.             dontCenter, doesntFloat, doesntHideOnSuspend, generateActivates, filler, 1000, 1}, 3}, 
  348.     ViewSignatureAndClassname
  349.         {'scrl', 183, "", 'SCLR', enabled, noIdle, {}, MAThreeOh, 
  350.         {0, 0}, {234, 234}, sizeRelSuperView, sizeRelSuperView, shown, doesntWantToBeTarget, 
  351.         handlesCursor, letsSubViewsHandleCursor, noCursorID, 
  352.         handlesHelp, letsSubViewsHandleHelp, noHelpID, 1, 
  353.         NoDrawingEnvironment {}, 
  354.         NoAdorners {}, emptyUserArea, 
  355.         Scroller {'vCLR', 'hCLR', {234, 234}, {16, 16}, VertConstrain, HorzConstrain, noInset, respondsToFKeys}, 1}, 
  356.     ViewSignatureAndClassname
  357.         {'inc@', 72, "", noID, enabled, noIdle, {}, MAThreeOh, 
  358.         {0, 0}, {234, 234}, sizeVariable, sizeVariable, shown, doesntWantToBeTarget, 
  359.         handlesCursor, letsSubViewsHandleCursor, noCursorID, 
  360.         handlesHelp, letsSubViewsHandleHelp, noHelpID, 1, 
  361.         NoDrawingEnvironment {}, 
  362.         NoAdorners {}, emptyUserArea, 
  363.         IncludeAt {1001, {0, 0}}, 
  364.         NoSubviews}, 
  365.     ViewSignatureAndClassname
  366.         {'ssbr', 101, "", 'hCLR', enabled, noIdle, {}, MAThreeOh, 
  367.         {234, -1}, {16, 236}, sizeVariable, sizeVariable, shown, doesntWantToBeTarget, 
  368.         handlesCursor, letsSubViewsHandleCursor, noCursorID, 
  369.         handlesHelp, letsSubViewsHandleHelp, noHelpID, 1, 
  370.         NoDrawingEnvironment {}, 
  371.         NoAdorners {}, emptyUserArea, 
  372.         ScrollerScrollBar {mHScrollBarHit, notHilited, notDimmed, sizeable, noInset, 128, dontPreferOutline, h, 0, 0, 0}, 
  373.         NoSubviews}, 
  374.     ViewSignatureAndClassname
  375.         {'ssbr', 101, "", 'vCLR', enabled, noIdle, {}, MAThreeOh, 
  376.         {-1, 234}, {236, 16}, sizeVariable, sizeVariable, shown, doesntWantToBeTarget, 
  377.         handlesCursor, letsSubViewsHandleCursor, noCursorID, 
  378.         handlesHelp, letsSubViewsHandleHelp, noHelpID, 1, 
  379.         NoDrawingEnvironment {}, 
  380.         NoAdorners {}, emptyUserArea, 
  381.         ScrollerScrollBar {mVScrollBarHit, notHilited, notDimmed, sizeable, noInset, 128, dontPreferOutline, v, 0, 0, 0}, 
  382.         NoSubviews}
  383.     }
  384. };
  385.  
  386. resource 'View' (1001, purgeable) {MAThreeOh, 
  387.     {
  388.     ViewSignatureAndClassname
  389.         {'view', 75, "TIconEditView", 'ICON', enabled, noIdle, {}, MAThreeOh, 
  390.         {0, 0}, {234, 234}, sizeVariable, sizeVariable, shown, doesntWantToBeTarget, 
  391.         handlesCursor, letsSubViewsHandleCursor, kPencilCursorId, 
  392.         handlesHelp, letsSubViewsHandleHelp, noHelpID, 1, 
  393.         NoDrawingEnvironment {}, 
  394.         NoAdorners {}, emptyUserArea, 
  395.         View {}, 
  396.         NoSubviews}
  397.     }
  398. };
  399. /*
  400. resource 'view' (kIconWindowId, purgeable) {
  401.     {
  402.         root, 'WIND', { 50, 20 }, { kIconWindowHeight, kIconWindowWidth },
  403.         sizeVariable, sizeVariable, shown, enabled,
  404.         Window        { "TWindow", zoomDocProc, goAwayBox, resizable, modeless,
  405.                     ignoreFirstClick, freeOnClosing, disposeOnFree, closesDocument,
  406.                     openWithDocument, dontAdaptToScreen, stagger, forceOnScreen,
  407.                     dontCenter, 'ICON', "" };
  408.  
  409.         'WIND', 'SCLR',    { 0, 0 },
  410.         { kIconWindowHeight-kSBarSizeMinus1, kIconWindowWidth-kSBarSizeMinus1 },
  411.         sizeRelSuperView, sizeRelSuperView, shown, enabled,
  412.         Scroller    { "TScroller", vertScrollBar, horzScrollBar, 0, 0, 16, 16,
  413.                     vertConstrain, horzConstrain, { 0, 0, 0, 0 } };
  414.  
  415.         'SCLR', IncludeViews    { kIconEditViewId }
  416.     }
  417. };
  418.  
  419. resource 'view' (kIconEditViewId, purgeable) {
  420.     {
  421.         root, 'ICON', { 0, 0 }, { kIconViewHeight, kIconViewWidth },
  422.         sizeVariable, sizeVariable, shown, enabled,
  423.         View        { "TIconEditView"}
  424.     }
  425. };
  426. */
  427. /* ==============================   Seed Icon   ================================ */
  428.  
  429. resource 'ICON' (kSeedIconId, purgeable) {
  430.     $"0001 0000 0002 8000 0004 4000 0008 2000 0010 1000 0020 0800 0040 0400 0080 0200"
  431.     $"0100 0100 0200 0080 0400 0040 0800 0020 1000 0010 2000 0008 4000 3F04 8000 4082"
  432.     $"4000 8041 2001 3022 1001 C814 080E 7F8F 0402 3007 0201 0007 0100 8007 0080 6007"
  433.     $"0040 1FE7 0020 021F 0010 0407 0008 0800 0004 1000 0002 2000 0001 4000 0000 8000"
  434. };
  435.  
  436. /* ================================   Menus   ================================== */
  437.  
  438. // Include the default Apple, File and Edit menus
  439.  
  440. include "Defaults.rsrc" 'CMNU' (mApple);
  441. include "Defaults.rsrc" 'CMNU' (mFile);
  442. include "Defaults.rsrc" 'CMNU' (mEdit);
  443.  
  444.  
  445. /* ------------------------------------------------------------------------------ */
  446.  
  447. resource 'CMNU' (mIcon) {
  448.     mIcon,
  449.     textMenuProc,
  450.     allEnabled,
  451.     enabled,
  452.     "Icon",
  453.      {
  454.     /* [1] */    "Zoom In",             noIcon, "M",    noMark, plain,    cZoomIn;
  455.     /* [2] */    "Zoom Out",         noIcon, "L",     noMark, plain,    cZoomOut;
  456.     /* [3] */    "-",                noIcon,    noKey,    noMark,    plain,    nocommand;
  457.     /* [4] */    "Invert",             noIcon, "I",     noMark, plain,    cInvert;
  458.     /* [5] */     "-",                noIcon, noKey,    noMark, plain,    nocommand;
  459.     /* [6] */    "Set Color…",        noIcon, noKey,  noMark, plain,    cSetColor
  460.     }
  461. };
  462.  
  463. /* ------------------------------------------------------------------------------ */
  464.  
  465. resource 'CMNU' (mBuzzwords) {
  466.     mBuzzwords,
  467.     textMenuProc,
  468.     allEnabled,
  469.     enabled,
  470.     "Buzzwords",
  471.      {
  472.     /* [1] */    "Page Setup Change", noIcon, noKey, noMark, plain, cChangePrinterStyle;
  473.     /* [2] */    "Drawing", noIcon, noKey, noMark, plain, cDrawCommand;
  474.     /* [3] */    "Set Color", noIcon, noKey, noMark, plain, cSetColor
  475.     }
  476. };
  477.  
  478. /* ------------------------------------------------------------------------------ */
  479.  
  480. resource 'MBAR' (kMBarDisplayed,
  481. #if qNames
  482. "IconEdit",
  483. #endif
  484.     purgeable) {
  485.      {mApple; mFile; mEdit; mIcon} 
  486. };
  487.  
  488. /* ============================   Scripting Stuff   ============================== */
  489.  
  490. resource 'aedt' (kAEIconEditDispatchTable, 
  491. #if qNames
  492.     "IconEdit Events",
  493. #endif
  494.     purgeable) {
  495.     {    /* array: 4 elements */
  496.         /* [1] */
  497.         'ICED', 'INVT', 1002,
  498.         /* [2] */
  499.         'ICED', 'ZmIn', 1000,
  500.         /* [3] */
  501.         'ICED', 'ZmOt', 1001,
  502.         /* [4] */
  503.         'ICED', 'DrPt', 1004
  504.     }
  505. };
  506.  
  507. /* ------------------------------------------------------------------------------ */
  508.  
  509. resource kAETerminologyExtension (0, 
  510. #if qNames
  511.     "English Terminology",
  512. #endif
  513.     purgeable) {
  514.     0x1,
  515.     0x0,
  516.     english,
  517.     roman,
  518.     {    /* array Suites: 4 elements */
  519.  
  520. //========================================================================================
  521. // Required Suite
  522. //========================================================================================
  523.  
  524.         /* [1] */
  525.         "Required Suite",
  526.         "Terms that every application should support",
  527.         kAERequiredSuite,
  528.         1,
  529.         1,
  530. //----------------------------------------------------------------------------------------
  531. // Events
  532. //----------------------------------------------------------------------------------------
  533.         {    /* array Events: 0 elements */
  534.         },
  535. //----------------------------------------------------------------------------------------
  536. // Classes
  537. //----------------------------------------------------------------------------------------
  538.         {    /* array Classes: 0 elements */
  539.         },
  540. //----------------------------------------------------------------------------------------
  541. // ComparisonOps
  542. //----------------------------------------------------------------------------------------
  543.         {    /* array ComparisonOps: 0 elements */
  544.         },
  545. //----------------------------------------------------------------------------------------
  546. // Enumerations
  547. //----------------------------------------------------------------------------------------
  548.         {    /* array Enumerations: 0 elements */
  549.         },
  550.  
  551. //========================================================================================
  552. // Standard Suite
  553. //========================================================================================
  554.  
  555.         /* [2] */
  556.         "Standard Suite",
  557.         "Common terms for most applications",
  558.         'CoRe',
  559.         1,
  560.         1,
  561. //----------------------------------------------------------------------------------------
  562. // Events
  563. //----------------------------------------------------------------------------------------
  564.         {    /* array Events: 14 elements */
  565.             /* [1] */
  566.         "close", "Close an object", kAECoreSuite, kAEClose, noReply,
  567.             "",
  568.             replyOptional, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  569.             typeObjectSpecifier,
  570.             "the object to close",
  571.             directParamRequired, singleItem, notEnumerated, changesState, Reserved12,
  572.             {    /* array OtherParams: 2 elements */
  573.                 /* [1] */
  574.             "saving", keyAESaveOptions, enumSaveOptions,
  575.                 "specifies whether changes should be saved before closing",
  576.                 optional, singleItem, enumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular,
  577.                 /* [2] */
  578.             "saving in", keyAEFile, typeAlias,
  579.                 "the file in which to save the object",
  580.                 optional, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular
  581.             },
  582.             /* [2] */
  583.         "count", "Return the number of elements of a particular class within an object",
  584.             kAECoreSuite, kAECountElements,
  585.             typeLongInteger,
  586.             "the number of elements",
  587.             replyRequired, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  588.             typeObjectSpecifier,
  589.             "the object whose elements are to be counted",
  590.             directParamRequired, singleItem, notEnumerated, doesntChangeState, Reserved12,
  591.             {    /* array OtherParams: 1 elements */
  592.                 /* [1] */
  593.             "each", keyAEObjectClass, cType,
  594.                 "the class of the elements to be counted",
  595.                 required, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular
  596.             },
  597.             /* [3] */
  598.         "data size", "Return the size in bytes of an object", kAECoreSuite, kAEGetDataSize,
  599.             cLongInteger,
  600.             "the size of the object in bytes",
  601.             replyRequired, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  602.             typeObjectSpecifier,
  603.             "the object whose data size is to be returned",
  604.             directParamRequired, singleItem, notEnumerated, doesntChangeState, Reserved12,
  605.             {    /* array OtherParams: 1 elements */
  606.                 /* [1] */
  607.             "as", keyAERequestedType, cType,
  608.                 "the data type for which the size is calculated",
  609.                 optional, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular
  610.             },
  611.             /* [4] */
  612.         "delete", "Delete an element from an object", kAECoreSuite, kAEDelete,
  613.             noReply,
  614.             "",
  615.             replyOptional, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  616.             typeObjectSpecifier,
  617.             "the element to delete",
  618.             directParamRequired, singleItem, notEnumerated, changesState, Reserved12,
  619.             {    /* array OtherParams: 0 elements */
  620.             },
  621.             /* [5] */
  622.         "duplicate", "Duplicate objects(s)", kAECoreSuite, kAEClone,
  623.             typeObjectSpecifier,
  624.             "",
  625.             replyRequired, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  626.             typeObjectSpecifier,
  627.             "the object(s) to duplicate",
  628.             directParamRequired, singleItem, notEnumerated, changesState, Reserved12,
  629.             {    /* array OtherParams: 1 elements */
  630.                 /* [1] */
  631.             "to", keyAEInsertHere, typeInsertionLoc,
  632.                 "the new location for the object(s)",
  633.                 optional, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular
  634.             },
  635.             /* [6] */
  636.         "exists", "Verify if an object exists", kAECoreSuite, kAEDoObjectsExist,
  637.             typeBoolean,
  638.             "true if it exists, false if not",
  639.             replyRequired, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  640.             typeObjectSpecifier,
  641.             "the object in question",
  642.             directParamRequired, singleItem, notEnumerated, doesntChangeState, Reserved12,
  643.             {    /* array OtherParams: 0 elements */
  644.             },
  645.             /* [7] */
  646.         "make", "Make a new element", kAECoreSuite, kAECreateElement,
  647.             typeObjectSpecifier,
  648.             "to the new object(s)",
  649.             replyRequired, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  650.             noParams,
  651.             "",
  652.             directParamOptional, singleItem, notEnumerated, changesState, Reserved12,
  653.             {    /* array OtherParams: 4 elements */
  654.                 /* [1] */
  655.             "new", keyAEObjectClass, cType,
  656.                 "the class of the new element.",
  657.                 required, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular,
  658.                 /* [2] */
  659.             "at", keyAEInsertHere, typeInsertionLoc,
  660.                 "the location at which to insert the element",
  661.                 required, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular,
  662.                 /* [3] */
  663.             "with data", keyAEData, typeWildCard,
  664.                 "the initial data for the element",
  665.                 optional, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular,
  666.                 /* [4] */
  667.             "with properties", keyAEPropData, 'reco',
  668.                 "the initial values for the properties of the element",
  669.                 optional, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular
  670.             },
  671.             /* [8] */
  672.         "move", "Move object(s) to a new location", kAECoreSuite, kAEMove,
  673.             typeObjectSpecifier,
  674.             "to the object(s) after they have been moved",
  675.             replyRequired, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  676.             typeObjectSpecifier,
  677.             "the object(s) to move",
  678.             directParamRequired, singleItem, notEnumerated, changesState, Reserved12,
  679.             {    /* array OtherParams: 1 elements */
  680.                 /* [1] */
  681.             "to", keyAEInsertHere, typeInsertionLoc,
  682.                 "the new location for the object(s)",
  683.                 required, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular
  684.             },
  685.             /* [9] */
  686.         "open",
  687.             "Open the specified object(s)", kCoreEventClass, kAEOpen, noReply,
  688.             "",
  689.             replyOptional, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  690.             typeObjectSpecifier,
  691.             "list of objects to open",
  692.             directParamRequired, singleItem, notEnumerated, changesState, Reserved12,
  693.             {    /* array OtherParams: 0 elements */
  694.             },
  695.             /* [10] */
  696.         "print",
  697.             "Print the specified object(s)", kCoreEventClass, kAEPrint, noReply,
  698.             "",
  699.             replyOptional, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  700.             typeObjectSpecifier,
  701.             "list of objects to print",
  702.             directParamRequired, singleItem, notEnumerated, doesntChangeState, Reserved12,
  703.             {    /* array OtherParams: 0 elements */
  704.             },
  705.             /* [11] */
  706.         "quit",
  707.             "Quit an application program", kCoreEventClass, kAEQuitApplication, noReply,
  708.             "",
  709.             replyOptional, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  710.             noParams,
  711.             "",
  712.             directParamOptional, singleItem, notEnumerated, doesntChangeState, Reserved12,
  713.             {    /* array OtherParams: 0 elements */
  714.             },
  715.             /* [12] */
  716.         "save",
  717.             "Save an object", kAECoreSuite, kAESave, noReply,
  718.             "",
  719.             replyOptional, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  720.             typeObjectSpecifier,
  721.             "the object to save",
  722.             directParamRequired, singleItem, notEnumerated, changesState, Reserved12,
  723.             {    /* array OtherParams: 3 elements */
  724.                 /* [1] */
  725.             "in", keyAEFile, typeAlias,
  726.                 "the file in which to save the object",
  727.                 optional, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular,
  728.                 /* [2] */
  729.             "as", keyAEFileType, cType,
  730.                 "the file type of the document in which to save the data",
  731.                 optional, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular,
  732.                 /* [3] */
  733.             "makeCopy", keyAESaveCopy, cBoolean,
  734.                 "save a copy of the document without effecting the original",
  735.                 optional, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular
  736.             },
  737.             /* [13] */
  738.         "get",
  739.             "Get the data for an object", kAECoreSuite, kAEGetData, typeWildCard,
  740.             "the data from the object",
  741.             replyRequired, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  742.             typeObjectSpecifier,
  743.             "the object whose data is to be returned",
  744.             directParamRequired, singleItem, notEnumerated, doesntChangeState, Reserved12,
  745.             {    /* array OtherParams: 1 elements */
  746.                 /* [1] */
  747.             "as", keyAERequestedType, cType,
  748.                 "the desired types for the data, in order of preference",
  749.                 optional, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular
  750.             },
  751.             /* [14] */
  752.         "set",
  753.             "Set an object’s data", kAECoreSuite, kAESetData, noReply,
  754.             "",
  755.             replyOptional, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  756.             typeObjectSpecifier,
  757.             "the object to change",
  758.             directParamRequired, singleItem, notEnumerated, changesState, Reserved12,
  759.             {    /* array OtherParams: 1 elements */
  760.                 /* [1] */
  761.             "to", keyAEData, typeWildCard,
  762.                 "the new value",
  763.                 required, singleItem, notEnumerated, Reserved9, prepositionParam, notFeminine, notMasculine, singular
  764.             }
  765.         },
  766. //----------------------------------------------------------------------------------------
  767. // Classes
  768. //----------------------------------------------------------------------------------------
  769.         {    /* array Classes: 16 elements */
  770.             /* [1] */
  771.         "application", cApplication,
  772.             "An application program",
  773.             {    /* array Properties: 6 elements */
  774.                 /* [1] */
  775.             "clipboard", pClipboard, typeWildCard,
  776.                 "the clipboard", reserved,
  777.                 listOfItems,
  778.                 notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  779.                 /* [2] */
  780.             "frontmost", pIsFrontProcess, typeBoolean,
  781.                 "Is this the frontmost application?", reserved,
  782.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  783.                 /* [3] */
  784.             "name", pName, typeIntlText,
  785.                 "the name", reserved,
  786.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  787.                 /* [4] */
  788.             "selection", pUserSelection, cSelection,
  789.                 "the selection visible to the user", reserved,
  790.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  791.                 /* [5] */
  792.             "version", pVersion, cVersion,
  793.                 "the version number of the application", reserved,
  794.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  795.                 /* [6] */
  796.             "class", pClass, cType,
  797.                 "the class", reserved,
  798.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  799.                 },
  800.             {    /* array Elements: 2 elements */
  801.                 /* [1] */
  802.                 cDocument,
  803.                 {    /* array KeyForms: 2 elements */
  804.                     /* [1] */
  805.                     formAbsolutePosition,
  806.                     /* [2] */
  807.                     formName
  808.                 },
  809.                 /* [2] */
  810.                 cWindow,
  811.                 {    /* array KeyForms: 2 elements */
  812.                     /* [1] */
  813.                     formAbsolutePosition,
  814.                     /* [2] */
  815.                     formName
  816.                 },
  817.                 /* [3] */
  818.                 cPalette,
  819.                 {    /* array KeyForms: 2 elements */
  820.                     /* [1] */
  821.                     formAbsolutePosition,
  822.                     /* [2] */
  823.                     formName
  824.                 }
  825.             },
  826.             /* [2] */
  827.             "applications",
  828.             cApplication,
  829.             "Every application",
  830.             {    /* array Properties: 1 elements */
  831.                 /* [1] */
  832.             "", kAESpecialClassProperties, cType,
  833.                 "", reserved,
  834.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, plural
  835.             },
  836.             {    /* array Elements: 0 elements */
  837.             },
  838.             /* [3] */
  839.         "character", cChar,
  840.             "A character",
  841.             {    /* array Properties: 7 elements */
  842.                 /* [1] */
  843.             "color", pColor, cRGBColor,
  844.                 "the color", reserved,
  845.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  846.                 /* [2] */
  847.             "font", keyAEFont, cText,
  848.                 "the name of the font", reserved,
  849.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  850.                 /* [3] */
  851.             "size", pPointSize, cFixed,
  852.                 "the size in points", reserved,
  853.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  854.                 /* [4] */
  855.             "writing code", pScriptTag, cIntlWritingCode,
  856.                 "the script system and language", reserved,
  857.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  858.                 /* [5] */
  859.             "style", pTextStyles, cTextStyles,
  860.                 "the text style", reserved,
  861.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  862.                 /* [6] */
  863.             "uniform styles", pUniformStyles, cTextStyles,
  864.                 "the text style", reserved,
  865.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  866.                 /* [7] */
  867.             "class", pClass, cType,
  868.                 "the class", reserved,
  869.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  870.             },
  871.             {    /* array Elements: 2 elements */
  872.                 /* [1] */
  873.                 cChar,
  874.                 {    /* array KeyForms: 1 elements */
  875.                     /* [1] */
  876.                     formAbsolutePosition
  877.                 },
  878.                 /* [2] */
  879.                 cText,
  880.                 {    /* array KeyForms: 1 elements */
  881.                     /* [1] */
  882.                     formAbsolutePosition
  883.                 }
  884.             },
  885.             /* [4] */
  886.         "characters", cChar,
  887.             "Every character",
  888.             {    /* array Properties: 1 elements */
  889.                 /* [1] */
  890.             "", kAESpecialClassProperties, cType,
  891.                 "", reserved,
  892.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, plural
  893.             },
  894.             {    /* array Elements: 0 elements */
  895.             },
  896.             /* [5] */
  897.         "document", cDocument,
  898.             "A document",
  899.             {    /* array Properties: 4 elements */
  900.                 /* [1] */
  901.             "modified", pIsModified, cBoolean,
  902.                 "Has the document been modified since the last save?", reserved,
  903.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  904.                 /* [2] */
  905.             "name", pName, cIntlText,
  906.                 "the name", reserved,
  907.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  908.                 /* [3] */
  909.             "selection", pSelection, cSelection,
  910.                 "the selection visible to the user", reserved,
  911.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  912.                 /* [4] */
  913.             "class", pClass, cType,
  914.                 "the class", reserved,
  915.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  916.                 },
  917.             {    /* array Elements: 1 elements */
  918.                 /* [1] */
  919.                 cFile,
  920.                 {    /* array KeyForms: 2 elements */
  921.                     /* [1] */
  922.                     formAbsolutePosition,
  923.                     /* [2] */
  924.                     formName
  925.                 }
  926.             },
  927.             /* [6] */
  928.         "documents", cDocument,
  929.             "Every document",
  930.             {    /* array Properties: 1 elements */
  931.                 /* [1] */
  932.             "", kAESpecialClassProperties, cType,
  933.                 "", reserved,
  934.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, plural
  935.             },
  936.             {    /* array Elements: 0 elements */
  937.             },
  938.             /* [7] */
  939.         "file", cFile,
  940.             "A file",
  941.             {    /* array Properties: 3 elements */
  942.                 /* [1] */
  943.             "stationery", pIsStationeryPad, cBoolean,
  944.                 "Is the file a stationery file?", reserved,
  945.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  946.                 /* [2] */
  947.             "name", pName, cIntlText,
  948.                 "the name", reserved,
  949.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  950.                 /* [3] */
  951.             "class", pClass, cType,
  952.                 "the class", reserved,
  953.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  954.             },
  955.             {    /* array Elements: 0 elements */
  956.             },
  957.             /* [8] */
  958.         "files", cFile,
  959.             "Every file",
  960.             {    /* array Properties: 1 elements */
  961.                 /* [1] */
  962.             "", kAESpecialClassProperties, cType,
  963.                 "", reserved,
  964.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, plural
  965.             },
  966.             {    /* array Elements: 0 elements */
  967.             },
  968.             /* [9] */
  969.         "selection-object", cSelection,
  970.             "the selection visible to the user",
  971.             {    /* array Properties: 2 elements */
  972.                 /* [1] */
  973.             "contents", pContents, cType,
  974.                 "the contents of the selection", reserved,
  975.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  976.                 /* [2] */
  977.             "class", pClass, cType,
  978.                 "the class", reserved,
  979.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  980.             },
  981.             {    /* array Elements: 0 elements */
  982.             },
  983.             /* [10] */
  984.         "text", cText,
  985.             "Text",
  986.             {    /* array Properties: 8 elements */
  987.                 /* [1] */
  988.             "", kAESpecialClassProperties, cType,
  989.                 "", reserved,
  990.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, plural,
  991.                 /* [2] */
  992.             "color", pColor, cRGBColor,
  993.                 "the color of the first character", reserved,
  994.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  995.                 /* [3] */
  996.             "font", pFont, cText,
  997.                 "the name of the font of the first character", reserved,
  998.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  999.                 /* [4] */
  1000.             "size", pPointSize, cFixed,
  1001.                 "the size in points of the first character", reserved,
  1002.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1003.                 /* [5] */
  1004.             "writing code", pScriptTag, cIntlWritingCode,
  1005.                 "the script system and language of the first character", reserved,
  1006.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1007.                 /* [6] */
  1008.             "style", pTextStyles, cTextStyles,
  1009.                 "the text style of the first character", reserved,
  1010.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1011.                 /* [7] */
  1012.             "uniform styles", pUniformStyles, cTextStyles,
  1013.                 "the text styles that are uniform throughout the text", reserved,
  1014.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1015.                 /* [8] */
  1016.             "class", pClass, cType,
  1017.                 "the class", reserved,
  1018.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1019.             },
  1020.             {    /* array Elements: 2 elements */
  1021.                 /* [1] */
  1022.             cChar,
  1023.                 {    /* array KeyForms: 1 elements */
  1024.                     /* [1] */
  1025.                     formAbsolutePosition
  1026.                 },
  1027.                 /* [2] */
  1028.             cText,
  1029.                 {    /* array KeyForms: 1 elements */
  1030.                     /* [1] */
  1031.                     formAbsolutePosition
  1032.                 }
  1033.             },
  1034.             /* [11] */
  1035.             "text style info",
  1036.             cTextStyles,
  1037.             "On and Off styles of text run",
  1038.             {    /* array Properties: 2 elements */
  1039.                 /* [1] */
  1040.             "on styles", keyAEOnStyles, enumStyle,
  1041.                 "the styles that are on for the text", reserved,
  1042.                 listOfItems, enumerated,
  1043.                 readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1044.                 /* [2] */
  1045.             "off styles", keyAEOffStyles, enumStyle,
  1046.                 "the styles that are off for the text", reserved,
  1047.                 listOfItems, enumerated,
  1048.                 readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular
  1049.             },
  1050.             {    /* array Elements: 0 elements */
  1051.             },
  1052.             /* [12] */
  1053.             "text style infos",
  1054.             cTextStyles,
  1055.             "every text style info",
  1056.             {    /* array Properties: 1 elements */
  1057.                 /* [1] */
  1058.             "", kAESpecialClassProperties, cType,
  1059.                 "", reserved,
  1060.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, plural
  1061.             },
  1062.             {    /* array Elements: 0 elements */
  1063.             },
  1064.             /* [13] */
  1065.         "window", cWindow,
  1066.             "A window",
  1067.             {    /* array Properties: 13 elements */
  1068.                 /* [1] */
  1069.             "bounds", pBounds, cQDRectangle,
  1070.                 "the boundary rectangle for the window", reserved,
  1071.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1072.                 /* [2] */
  1073.             "closeable", pHasCloseBox, cBoolean,
  1074.                 "Does the window have a close box?", reserved,
  1075.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1076.                 /* [3] */
  1077.             "titled", pHasTitleBar, cBoolean,
  1078.                 "Does the window have a title bar?", reserved,
  1079.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1080.                 /* [4] */
  1081.             "index", pIndex, cLongInteger,
  1082.                 "the number of the window", reserved,
  1083.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1084.                 /* [5] */
  1085.             "modal", pIsModal, cBoolean,
  1086.                 "Is the window modal?", reserved,
  1087.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1088.                 /* [6] */
  1089.             "resizable", pIsResizable, cBoolean,
  1090.                 "Is the window resizable?", reserved,
  1091.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1092.                 /* [7] */
  1093.             "zoomable", pIsZoomable, cBoolean,
  1094.                 "Is the window zoomable?", reserved,
  1095.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1096.                 /* [8] */
  1097.             "zoomed", pIsZoomed, cBoolean,
  1098.                 "Is the window zoomed?", reserved,
  1099.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1100.                 /* [9] */
  1101.             "name", pName, cIntlText,
  1102.                 "the title of the window", reserved,
  1103.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1104.                 /* [10] */
  1105.             "selection", pSelection, cSelection,
  1106.                 "the selection visible to the user", reserved,
  1107.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1108.                 /* [11] */
  1109.             "class", pClass, cType,
  1110.                 "the class", reserved,
  1111.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1112.             },
  1113.             {    /* array Elements: 1 elements */
  1114.                 /* [1] */
  1115.                 cDocument,
  1116.                 {    /* array KeyForms: 2 elements */
  1117.                     /* [1] */
  1118.                     formAbsolutePosition,
  1119.                     /* [2] */
  1120.                     formName
  1121.                 }
  1122.             },
  1123.             /* [14] */
  1124.         "windows", cWindow,
  1125.             "Every window",
  1126.             {    /* array Properties: 1 elements */
  1127.                 /* [1] */
  1128.             "", kAESpecialClassProperties, cType,
  1129.                 "", reserved,
  1130.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, plural
  1131.             },
  1132.             {    /* array Elements: 0 elements */
  1133.             },
  1134.             /* [15] */
  1135.         "palette", cPalette,
  1136.             "A floating palette",
  1137.             {    /* array Properties: 11 elements */
  1138.                 /* [1] */
  1139.             "bounds", pBounds, cQDRectangle,
  1140.                 "the boundary rectangle for the palette", reserved,
  1141.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1142.                 /* [2] */
  1143.             "closeable", pHasCloseBox, cBoolean,
  1144.                 "Does the palette have a close box?", reserved,
  1145.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1146.                 /* [3] */
  1147.             "titled", pHasTitleBar, cBoolean,
  1148.                 "Does the palette have a title bar?", reserved,
  1149.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1150.                 /* [4] */
  1151.             "index", pIndex, cLongInteger,
  1152.                 "the number of the palette", reserved,
  1153.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1154.                 /* [5] */
  1155.             "floating", pIsFloating, cBoolean,
  1156.                 "Does the palette float?", reserved,
  1157.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1158.                 /* [6] */
  1159.             "resizable", pIsResizable, cBoolean,
  1160.                 "Is the palette resizable?", reserved,
  1161.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1162.                 /* [7] */
  1163.             "zoomable", pIsZoomable, cBoolean,
  1164.                 "Is the palette zoomable?", reserved,
  1165.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1166.                 /* [8] */
  1167.             "zoomed", pIsZoomed, cBoolean,
  1168.                 "Is the palette zoomed?", reserved,
  1169.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1170.                 /* [9] */
  1171.             "name", pName, cIntlText,
  1172.                 "the title of the palette", reserved,
  1173.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1174.                 /* [10] */
  1175.             "selection", pSelection, cSelection,
  1176.                 "the selection visible to the user", reserved,
  1177.                 singleItem, notEnumerated, readWrite, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1178.                 /* [11] */
  1179.             "class", pClass, cType,
  1180.                 "the class", reserved,
  1181.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1182.                 },
  1183.             {    /* array Elements: 0 elements */
  1184.             },
  1185.             /* [16] */
  1186.         "palettes", cPalette,
  1187.             "Every palette",
  1188.             {    /* array Properties: 1 elements */
  1189.                 /* [1] */
  1190.             "", kAESpecialClassProperties, cType,
  1191.                 "", reserved,
  1192.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, plural
  1193.             },
  1194.             {    /* array Elements: 0 elements */
  1195.             },
  1196.             /* [17] */
  1197.         "insertion point", cInsertionPoint,
  1198.             "An insertion location between two objects",
  1199.             {    /* array Properties: 1 element */
  1200.             "class", pClass, cType,
  1201.                 "the class", reserved,
  1202.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1203.             },
  1204.             {    /* array Elements: 0 elements */
  1205.             },
  1206.             /* [18] */
  1207.         "insertion points", cInsertionPoint,
  1208.             "Every insertion location",
  1209.             {    /* array Properties: 1 elements */
  1210.                 /* [1] */
  1211.                 "",
  1212.                 kAESpecialClassProperties,
  1213.                 cType,
  1214.                 "", reserved,
  1215.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, plural
  1216.             },
  1217.             {    /* array Elements: 0 elements */
  1218.             }
  1219.         },
  1220. //----------------------------------------------------------------------------------------
  1221. // ComparisonOps
  1222. //----------------------------------------------------------------------------------------
  1223.         {    /* array ComparisonOps: 8 elements */
  1224.             "starts with", kAEBeginsWith, "Starts with",
  1225.             "contains", kAEContains, "Contains",
  1226.             "ends with", kAEEndsWith, "Ends with",
  1227.             "=", kAEEquals, "Equal",
  1228.             ">", kAEGreaterThan, "Greater than",
  1229.             "≥", kAEGreaterThanEquals, "Greater than or equal to",
  1230.             "<", kAELessThan, "Less than",
  1231.             "≤", kAELessThanEquals, "Less than or equal to"
  1232.         },
  1233. //----------------------------------------------------------------------------------------
  1234. // Enumerations
  1235. //----------------------------------------------------------------------------------------
  1236.         {    /* array Enumerations: 2 elements */
  1237.             /* [1] */
  1238.             enumSaveOptions,
  1239.             {    /* array Enumerators: 3 elements */
  1240.                 "yes", kAEYes, "Save objects now",
  1241.                 "no", kAENo, "Do not save objects",
  1242.                 "ask", kAEAsk, "Ask the user whether to save"
  1243.             },
  1244.             /* [2] */
  1245.             enumKeyForm,
  1246.             {    /* array Enumerators: 3 elements */
  1247.                 "index", formAbsolutePosition, "keyform designating indexed access",
  1248.                 "named", formName, "keyform designating named access",
  1249.                 "ID", formUniqueID, "keyform designating access by unique identifer"
  1250.             }
  1251.         },
  1252.  
  1253. //========================================================================================
  1254. // Miscellaneous Standards
  1255. //========================================================================================
  1256.  
  1257.         /* [3] */
  1258.     "Miscellaneous Standards",
  1259.         "Miscellaneous standard events and classes",
  1260.         'misc',
  1261.         1,
  1262.         1,
  1263. //----------------------------------------------------------------------------------------
  1264. // Events
  1265. //----------------------------------------------------------------------------------------
  1266.         {    /* array Events: 12.1 elements */
  1267.             /* [11.1] */
  1268.         "revert", "Revert an object to its last saved state",
  1269.             kAEMiscStandards, kAERevert, 
  1270.             noReply,
  1271.             "",
  1272.             replyOptional, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  1273.             typeObjectSpecifier,
  1274.             "list of object(s) to revert",
  1275.             directParamRequired, singleItem, notEnumerated, changesState, Reserved12,
  1276.             {    /* array OtherParams: 0 elements */
  1277.             },
  1278.             /* [1] */
  1279.         "cut", "Cut an object to the clipboard", kAEMiscStandards, kAECut,
  1280.             noReply,
  1281.             "",
  1282.             replyOptional, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  1283.             noParams,
  1284.             "",
  1285.             directParamOptional, singleItem, notEnumerated, changesState, Reserved12,
  1286.             {    /* array OtherParams: 0 elements */
  1287.             },
  1288.             /* [2] */
  1289.         "copy", "Copy an object to the clipboard", kAEMiscStandards, kAECopy,
  1290.             noReply,
  1291.             "",
  1292.             replyOptional, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  1293.             noParams,
  1294.             "",
  1295.             directParamOptional, singleItem, notEnumerated, changesState, Reserved12,
  1296.             {    /* array OtherParams: 0 elements */
  1297.             },
  1298.             /* [3] */
  1299.         "paste", "Paste an object from the clipboard", kAEMiscStandards, kAEPaste,
  1300.             noReply,
  1301.             "",
  1302.             replyOptional, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  1303.             noParams,
  1304.             "",
  1305.             directParamOptional, singleItem, notEnumerated, changesState, Reserved12,
  1306.             {    /* array OtherParams: 0 elements */
  1307.             },
  1308.             /* [4] */
  1309.         "redo", "Reverse the action of the immediately preceeding undo", kAEMiscStandards, kAERedo,
  1310.             noReply,
  1311.             "",
  1312.             replyOptional, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  1313.             noParams,
  1314.             "",
  1315.             directParamOptional, singleItem, notEnumerated, changesState, Reserved12,
  1316.             {    /* array OtherParams: 0 elements */
  1317.             },
  1318.             /* [5] */
  1319.         "undo", "Undo the action of the previous event or user interaction", kAEMiscStandards, kAEUndo,
  1320.             noReply,
  1321.             "",
  1322.             replyOptional, singleItem, notEnumerated, notTightBindingFunction, Reserved8, verbEvent, Reserved3,
  1323.             noParams,
  1324.             "",
  1325.             directParamOptional, singleItem, notEnumerated, changesState, Reserved12,
  1326.             {    /* array OtherParams: 0 elements */
  1327.             }
  1328.         },
  1329. //----------------------------------------------------------------------------------------
  1330. // Classes
  1331. //----------------------------------------------------------------------------------------
  1332.         {    /* array Classes: 4 elements */
  1333.             /* [1] */
  1334.             "menu",
  1335.             'cmnu',
  1336.             "A menu",
  1337.             {    /* array Properties: 3 elements */
  1338.                 /* [1] */
  1339.             "class", 'pcls', 'type',
  1340.                 "The class", reserved,
  1341.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1342.                 /* [2] */
  1343.             "menu ID", 'mnid', 'shor',
  1344.                 "the menu ID for the menu", reserved,
  1345.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1346.                 /* [3] */
  1347.             "name", 'pnam', 'itxt',
  1348.                 "the name", reserved,
  1349.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular
  1350.             },
  1351.             {    /* array Elements: 1 elements */
  1352.                 /* [1] */
  1353.                 'cmen',
  1354.                 {    /* array KeyForms: 2 elements */
  1355.                     /* [1] */
  1356.                     'indx',
  1357.                     /* [2] */
  1358.                     'name'
  1359.                 }
  1360.             },
  1361.             /* [2] */
  1362.         "menus", 'cmnu',
  1363.             "Every menu",
  1364.             {    /* array Properties: 1 elements */
  1365.                 /* [1] */
  1366.             "class attributes", 'c@#!', 'type',
  1367.                 "the best descriptor type", reserved,
  1368.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, plural
  1369.             },
  1370.             {    /* array Elements: 0 elements */
  1371.             },
  1372.             /* [3] */
  1373.         "menu item", 'cmen',
  1374.             "A menu item",
  1375.             {    /* array Properties: 4 elements */
  1376.                 /* [1] */
  1377.             "class", 'pcls', 'type',
  1378.                 "the class", reserved,
  1379.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1380.                 /* [2] */
  1381.             "enabled", 'enbl', 'bool',
  1382.                 "Is the menu item is enabled?", reserved,
  1383.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1384.                 /* [3] */
  1385.             "item number", 'itmn', 'shor',
  1386.                 "the menu item number", reserved,
  1387.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular,
  1388.                 /* [4] */
  1389.             "name", 'pnam', 'itxt',
  1390.                 "The name", reserved,
  1391.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, singular
  1392.             },
  1393.             {    /* array Elements: 0 elements */
  1394.             },
  1395.             /* [4] */
  1396.         "menu items", 'cmen',
  1397.             "Every menu item",
  1398.             {    /* array Properties: 1 elements */
  1399.                 /* [1] */
  1400.             "Class attributes", 'c@#!', 'type',
  1401.                 "The best descriptor type", reserved,
  1402.                 singleItem, notEnumerated, readOnly, Reserved8, noApostrophe, notFeminine, notMasculine, plural
  1403.             },
  1404.             {    /* array Elements: 0 elements */
  1405.             }
  1406.         },
  1407. //----------------------------------------------------------------------------------------
  1408. // ComparisonOps
  1409. //----------------------------------------------------------------------------------------
  1410.         {    /* array ComparisonOps: 0 elements */
  1411.         },
  1412. //----------------------------------------------------------------------------------------
  1413. // Enumerations
  1414. //----------------------------------------------------------------------------------------
  1415.         {    /* array Enumerations: 1 element */
  1416.             /* [1] */
  1417.             enumQuality,
  1418.             {    /* array Enumerators: 3 elements */
  1419.                 "draft", kAEFast, "image the graphic as quickly as possible",
  1420.                 "regular", kAERegular, "image the graphic normally",
  1421.                 "high", kAEHiQuality, "image the graphic at the highest quality possible"
  1422.             }
  1423.         },
  1424.  
  1425. //========================================================================================
  1426. // IconEdit Suite
  1427. //========================================================================================
  1428.  
  1429.         /* [4] */
  1430.     "IconEdit Suite",
  1431.         "Events that are specific to the IconEdit application",
  1432.         'ICED',
  1433.         1,
  1434.         1,
  1435.         {    /* array Events: 4 elements */
  1436.             /* [1] */
  1437.             "invert",
  1438.             "Inverts a window’s contents",
  1439.             'ICED',
  1440.             'INVT',
  1441.             noReply,
  1442.             "",
  1443.             replyOptional,
  1444.             singleItem,
  1445.             notEnumerated,
  1446.             notTightBindingFunction,
  1447.             Reserved8,
  1448.             verbEvent,
  1449.             Reserved3,
  1450.             typeObjectSpecifier,
  1451.             "the object to invert",
  1452.             directParamRequired,
  1453.             singleItem,
  1454.             notEnumerated,
  1455.             changesState,
  1456.             Reserved12,
  1457.             {    /* array OtherParams: 0 elements */
  1458.             },
  1459.             /* [2] */
  1460.             "zoom_in",
  1461.             "increases the magnification of the target document",
  1462.             'ICED',
  1463.             'ZmIn',
  1464.             noReply,
  1465.             "",
  1466.             replyOptional,
  1467.             singleItem,
  1468.             notEnumerated,
  1469.             notTightBindingFunction,
  1470.             Reserved8,
  1471.             verbEvent,
  1472.             Reserved3,
  1473.             typeObjectSpecifier,
  1474.             "the document to zoom into",
  1475.             directParamRequired,
  1476.             singleItem,
  1477.             notEnumerated,
  1478.             doesntChangeState,
  1479.             Reserved12,
  1480.             {    /* array OtherParams: 0 elements */
  1481.             },
  1482.             /* [3] */
  1483.             "zoom_out",
  1484.             "decreases the magnification of the targe"
  1485.             "t document",
  1486.             'ICED',
  1487.             'ZmOt',
  1488.             noReply,
  1489.             "",
  1490.             replyOptional,
  1491.             singleItem,
  1492.             notEnumerated,
  1493.             notTightBindingFunction,
  1494.             Reserved8,
  1495.             verbEvent,
  1496.             Reserved3,
  1497.             typeObjectSpecifier,
  1498.             "the document to zoom out of",
  1499.             directParamRequired,
  1500.             singleItem,
  1501.             notEnumerated,
  1502.             doesntChangeState,
  1503.             Reserved12,
  1504.             {    /* array OtherParams: 0 elements */
  1505.             },
  1506.             /* [4] */
  1507.             "draw_points",
  1508.             "draw or erase a list of points in the specified view.",
  1509.             'ICED',
  1510.             'DrPt',
  1511.             noReply,
  1512.             "",
  1513.             replyOptional,
  1514.             singleItem,
  1515.             notEnumerated,
  1516.             notTightBindingFunction,
  1517.             Reserved8,
  1518.             verbEvent,
  1519.             Reserved3,
  1520.             typeObjectSpecifier,
  1521.             "the document containing the bitmap to draw in",
  1522.             directParamRequired,
  1523.             singleItem,
  1524.             notEnumerated,
  1525.             doesntChangeState,
  1526.             Reserved12,
  1527.             {    /* array OtherParams: 2 elements */
  1528.                 /* [1] */
  1529.                 "points",
  1530.                 'kPtL',
  1531.                 cAEList,
  1532.                 "list of points to draw or erase",
  1533.                 required,
  1534.                 listOfItems,
  1535.                 notEnumerated,
  1536.                 Reserved9,
  1537.                 prepositionParam,
  1538.                 notFeminine,
  1539.                 notMasculine,
  1540.                 singular,
  1541.                 /* [2] */
  1542.                 "do_erase",
  1543.                 'kErs',
  1544.                 typeBoolean,
  1545.                 "optional parameter to erase points (default is to draw points)",
  1546.                 optional,
  1547.                 singleItem,
  1548.                 notEnumerated,
  1549.                 Reserved9,
  1550.                 prepositionParam,
  1551.                 notFeminine,
  1552.                 notMasculine,
  1553.                 singular
  1554.             }
  1555.         },
  1556.         {    /* array Classes: 1 elements */
  1557.             /* [1] */
  1558.             "document",
  1559.             cDocument,
  1560.             "IconEdit document",
  1561.             {    /* array Properties: 1 elements */
  1562.                 /* [1] */
  1563.                 "icon_color",
  1564.                 pColor,
  1565.                 cRGBColor,
  1566.                 "color in which the icon is drawn",
  1567.                 reserved,
  1568.                 singleItem,
  1569.                 notEnumerated,
  1570.                 readWrite,
  1571.                 Reserved8,
  1572.                 noApostrophe,
  1573.                 notFeminine,
  1574.                 notMasculine,
  1575.                 singular
  1576.             },
  1577.             {    /* array Elements: 0 elements */
  1578.             }
  1579.         },
  1580.         {    /* array ComparisonOps: 0 elements */
  1581.         },
  1582.         {    /* array Enumerations: 0 elements */
  1583.         }
  1584.     }
  1585. };
  1586.  
  1587.  
  1588.  
  1589.